package com.zzyk.main.service;

import com.zzyk.main.configuration.exception.DeviceException;
import com.zzyk.main.model.pojo.Device;
import com.zzyk.main.model.pojo.DeviceType;
import com.zzyk.main.model.vo.DeviceTypeVO;

import java.util.List;
import java.util.Map;

public interface DeviceTypeService {


    int deleteByPrimaryKey(Integer id);

    int insert(DeviceType record);

    int insertSelective(DeviceType record);

    DeviceType selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(DeviceType record) throws DeviceException;

    int updateByPrimaryKey(DeviceType record);

    /**
     * 查询所有设备类型 树的数据
     *
     * @return
     */
    List<DeviceTypeVO> selectDeviceTypeTree();

    /**
     * 根据父级节点ID 查询所有设备类型
     * @param parentId
     * @return
     */
    List<DeviceType> selectByParentId(Integer parentId);
    /**
     * 根据节点类型获取所有节点信息
     * @param rank
     * @return
     */
    List<DeviceType>  selectByRank(Integer rank);

    /**
     *  添加和修改的名称唯一验证
     * @param methodType
     * @param title
     * @param id
     * @return
     */
    Map<String, Boolean> uniqueName(Integer methodType, String title, Integer id);

    List<Device> getNoTypeDevice(String[] area);

    List<DeviceType> getAllByUser(Integer enterprise, Integer[] deviceList);
}




